﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace T06ArrayType
{
        class Program
        {
            static void Main(string[] args)
            {

                //一维数组
                #region 一维数组
                int[] array1 = new int[10];
                int[] array2 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

                for (int j = 0; j < array2.Length; j++)
                {
                    array1[j] = (j + 1) * 10;

                }
                foreach (int _x in array2)
                {
                    Console.WriteLine($"{_x}\t");

                }
                #endregion
                Console.WriteLine("=======一维数组=============");
                #region System.Array类
                //System.Array的使用，拆箱装箱
                //ctrl + M ,M
                Console.WriteLine(array1.Max());
                Console.WriteLine(array1.Min());
                foreach (int _x in array1.Reverse())
                {
                    Console.WriteLine($"{_x}\t");
                }
                Console.WriteLine("=========Array包装类=========");
                #endregion

                #region  多维数组
                int[,] array3 = new int[3, 4];//二维数组
                int[,,] array4 = new int[3, 4, 5]; //三维数组
                for (int i = 0; i < array3.GetLength(0); i++)//表示二维数组的第1维
                {
                    for (int j = 0; j < array3.GetLength(1); j++)//1  - 表示第二维数组的第2维
                    {

                        array3[i, j] = (i + 1) * (j + 1);
                        Console.WriteLine($"{array3[i, j]}\t");
                    }

                    Console.WriteLine();
                }
                #endregion

                int[][] array5 = new int[3][];//具有三个数组元素的数组
                                              //初始化
                                              //for (int i =0; i<3; i++)
                                              //{
                                              //  array5[i] = new int[4];//创建每个数组元素-为4个元素的数组
                                              //}
                array5[0] = new int[2] { 1, 2 };
                array5[1] = new int[3] { 3, 4, 5 };
                array5[2] = new int[4] { 6, 7, 8, 9 };

                foreach (int[] arr in array5)
                {
                    foreach (int _x in arr)
                    {
                        Console.WriteLine($"{_x}\t");
                    }
                }
                Console.WriteLine();
                Console.WriteLine("===========数组的数组==========");

                Console.ReadKey();
            }
        }
    }